The present invention relates to electronic data processing, and more particularly concerns the real-time simulation of skill-based activities such as air-to-air combat.
Designing a real-time air-combat simulator is full of challenges. One of them is developing a compelling artificial intelligence (AI) for allowing the computer to control the actions of simulated aircraft and other entities that try to shoot the human player out of the sky. (For brevity, all such entities will be referred to as "AI units.")
Real-time simulators demand the utmost from a computer. There is never enough time to perform all the calculations required to simulate the motions of the player's aircraft, other aircraft visible to the player, and complex terrain, and to render their images on a display screen. Where compromises are necessary, conventional simulators tend to skimp on the realism of the AI units. The purpose of the AI units is to mimic human-like behavior as closely as possible. Playing present air-combat products quickly reveals weaknesses in the behavior of simulated enemy pilots. They feel computerish. They perform in ways which are both better and worse than human pilots. Their incredible ability to react to aircraft dead astern of them and to maneuver instantaneously is frustrating to players. On the other hand, human players quickly learn to take advantage of their simplistic tactics, turning the game into a turkey shoot.
Conventional AI-unit simulators lack realism in the area of situational awareness, the ability to see and thus react to other units in the simulated region. The common expedient in air combat is to maintain a list of the three-dimensional position of every aircraft in the combat zone, and to make the full list available to every AI unit for target selection, attack planning, and evasive maneuvers. This approach lends a disconcerting omniscience to their ability to track large numbers of other aircraft in furballs, where many aircraft engage each other from various attitudes. Real pilots can see any aircraft in a cone ahead of them, but awareness drops off for aircraft approaching from the flank or from above and below. Bogeys at six o'clock should be as invisible to AI units as they are to human pilots. Another aspect of situational awareness concerns persistence. Even though another aircraft is less visible out of the forward cone, human pilots remain aware of other aircraft that drop astern from a sector of higher visibility, and continue to react to their presence for some period of time. Further, it is characteristic of human pilots to fixate upon a targeted aircraft, paying more attention to it and paying less attention to other aircraft. It should be easier for the human player to jump a simulated enemy unit when it is pursuing another target. It should be harder for the human player to duck a pursuing enemy AI unit.
Target selection is also a shortcoming of conventional simulators. When many targets are available in a furball, present-day AI units employ crude or even random factors for designating one of them to engage. And, once locked on to a specific target, contemporary AI units doggedly pursue it, refusing to acquire a more favorable target. This defect often allows human players to consider otherwise suicidal tactics to approach an enemy unit within point-blank firing range.
A shortcoming in the basic design of simulators for many-unit simulators is to enhance the realism of the player-controlled aircraft or other unit at the expense of the computer-controlled units. For example, each AI unit might be allocated the same fixed amount of computer resources, or all AI units given exactly the same skill level. Where many computer-controlled units are attempted, it is easy to justify skimping on the physics of their simulation. Whereas the player's unit is simulated with a full physics engine that mimics many details of the unit's actual response to their control inputs, the AI units are guided through simpler simulation techniques, usually through more or less direct control of their flight paths. The player's unit gets the full treatment; the AI units do not, and suffer for it.
Enhancing the realism of computer-controlled AI units is not straightforward. The first problem is, of course, is to design their behaviors to be more realistic, as discussed above. Then, given the computation-intensive nature of real-time simulation, the next problem is to implement those behaviors more efficiently. Simulators operate in cycles, updating the current state of objects in the system during each cycle to produce a new state for the next cycle. Conventionally, the parameters of the AI units are recalculated in a think interval that remains constant for all parameters and that is the same for all units. In a complex simulation involving increased computation for many units, each of which can be in different circumstances, this simple scheme wastes valuable time and resources. Slowly changing parameters are updated more often than necessary, while units in the thick of the action react sluggishly for lack of timely updates.
Realism of AI units suffers further from crude simulation of their maneuvers. Newer products in this genre employ sophisticated physics engines for recreating the actual characteristics of the player's aircraft. Yet the computer-controlled units remain directed by simpler commands to proceed in a certain direction at a certain speed. This technique results in jerky, mechanical actions, and in physically impossible maneuvers. Vectoring routines can include artificial constraints such as limits on turn rates, but the results are often less than believable. Also, the direct control used in conventional simulators allows little in the way of modeling different enemy aircraft. Although the user of a player-controlled simulator such as Microsoft Flight Simulator.RTM. can choose among a wide variety of aircraft types, combat-type simulators are much more restricted. The computer-controlled AI units are either fixed or restricted to a few types having unrealistic behaviors.
Unrealistic actions are most noticeable during extreme maneuvers of an AI unit. For example, a computer-generated tactical command for an aircraft to descend sharply while in a bank may produce a totally undesired maneuver, directing the craft in a wholly different direction than that intended. Even in the absence of guidance commands, maintaining a proper pitch attitude during turning and banking is difficult. Another aspect that is generated unrealistically in current simulators concerns the way in which an AI unit turns to follow a target. Computers single-mindedly point an AI aircraft at its target as quickly as possible and follow it as closely as possible. Even relatively inexperienced players see that technique as artificial.
The above discussion focuses upon air-combat simulators as an example of the class of simulators that employ one or more units or entities controlled by the computer, as well as a simulated unit controlled by a player or other user. This genre includes other competitive scenarios such as BEM (bug-eyed monster) adventure games and NASCAR races. There is little difference between simulators for entertainment and those for skill training such as driver education. All but the simplest simulation applications have less realism than their designers wish for, and the need for enhanced realism for the computer-controlled AI units is as intense as that for the player-controlled unit.